Replace xset in axis with detectable auto repeat#3750
Replace xset in axis with detectable auto repeat#3750andypugh merged 1 commit intoLinuxCNC:masterfrom
Conversation
|
This looks like it was quite a bit of effort! Personally I would just ban keyboard jogging..... :-) Is there any increased danger of key-release events being "lost"? I have heard occasional reports of a key-release not stopping the jog. (hence my policy above). |
|
The chance of not receiving a key release is equal or less than before. The problem of missing key (release) events is usually a problem of bad key-rollover implementations of the physical keyboards. Some keyboards can not cope with multiple/many keys pressed if the keys are in the "wrong" rows/columns of the keyboard matrix. Other keyboards just "forget" keys if you press too many at the same time (for an arbitrary value of "too many"). The effort put into this is very much compensated by eliminating the annoyances generated by xset killing my workflow. Also this fixes the annoyance that a local program alters global settings (at least for axis). FWIW, the changes were a lot less invasive and smaller than anticipated. And, I learned something about python/tcl/tk/X interactions too :-) |
|
I was berating myself for not testing this before merging, but console myself that I would never have thought of testing continuous mouse jogging anyway... |
|
Same here... Fixed with #3758. |
This PR replaces #3730 by removing the use of xset in axis completely. It is replaced by setting the "detectable auto repeat" feature of the X server and ignore repeated press events where necessary. Tracking the press/release events with detectable auto repeat makes the jog keys work as intended.